h2 { text-align:center; border:1px dotted grey; margin-top:0; margin-bottom:40px; }
footer { display:block; padding-top:20px; }

.obligatoire { color:red; font-size:0.8em; }
.normal { background-color:inherit; border:none; width:100%; }
.footer { display:block; margin-top:40px; }

/**********************************************************/
/* FORM */
/**********************************************************/

	#listing_formulaire input[type="checkbox"] { margin:0 25px; }
	#listing_formulaire div>span { position:relative; top:3px; }
	#listing_formulaire div { min-height:50px;  }
	#listing_formulaire .info { color:grey; font-size:0.8em; margin-left:180px; position:relative; top:-1px; margin-bottom:3px; }
	
	#listing_note td.date span { padding-right:10px; font-size:0.95em; }
	#listing_absence td.date span { padding-right:10px; font-size:0.95em; }
		
	form { float:left; width:98%; padding:20px 10px; }
	form label { display:block; min-width:100px; }
	form div>label { margin-right:20px; }
	form span { padding:0px 5px; }
	form input[type="number"] { width:100px; }
	form input, form label, form span { float:left; }
	form div { clear:both; }
	
	form div.submit { height:30px; }
	form div.submit input { margin-top:10px; float:right; }
	
	input.info { border:1px solid orange; box-shadow:0px 0px 4px 0px orange inset; border-radius:5px; }
	input.error { border:1px solid red; box-shadow:0px 0px 4px 0px red inset; border-radius:5px; }
	
/**********************************************************/
/* TABLE */
/**********************************************************/
	
	#note table { border: 1px solid lightgrey; }

	table.classic { float:left; margin-top:15px; border-collapse:collapse; }
	table.classic tr * { padding:5px 15px }
	table.classic *.over { background-color:#E0E0E0 !important; }
	table.classic tr:nth-child(2n+1) td { background-color:#E0E0E0; }
	table.classic td input[type="checkbox"] { margin:auto; }
	
	table.order tr>th>span { float:left; }
	table.order tr>th>img { float:right; cursor:pointer; padding:0; }
	table.order tr>th>img[alt="up"] { position:relative; top:7px; }
	table.order tr>th>img[alt="down"] { position:relative; top:-3px; }
	table.order tr>th>img[alt="info"] { position:relative; top:3px; cursor:default; }

	table.list tr>th { position:relative; top:5px; }
	table.list tr>th>span { padding:5px; }
	table.list tr:nth-child(2n+1) td { background-color:#F0F0F0; }

/**********************************************************/
/* MENU */
/**********************************************************/

	#nav { height:60px; width:100%; background-color:lightblue; padding-top:15px; margin-top:-15px; }
	#nav>div { margin:auto; width:37em; }
	
	nav { position:absolute; }
	nav>div { font-style:italic; position:relative; top:10px; font-size:0.9em; float:left; margin-bottom:25px; padding:10px 5px 5px 5px; margin-right:5px; width:13em; text-align:center; font-weight:bold; }
	
	nav>div ul { width:100%; margin:0; padding:10px 0px 0px 10px; display:none; list-style-type:none; }
	nav>div:hover ul { display:block; }
	
	nav>div li { padding:10px; width:100%; position:relative; left:-10px; width:auto; font-size:0.9em; font-weight:600; }
	nav>div li:hover { font-weight:bold; }
	
	nav>div { background-color:#474AFF; color:#F0F0F0; }
	nav>div:hover { background-color:#F0F0F0; color:#474AFF; }
	
	nav>div:first-of-type a { background-color:#474AFF; color:#F0F0F0; }
	nav>div:first-of-type:hover a { background-color:#F0F0F0; color:#474AFF; }
	
	nav>div li { background-color:#474AFF; color:#F0F0F0; }
	nav>div li:hover { background-color:white; color:#474AFF; }
	
	nav>div li a { color:#F0F0F0; }
	nav>div li:hover a { color:#474AFF; }
	
	article, #msg { clear:both; }

/**********************************************************/
/* AUTRES */
/**********************************************************/

	#msg { display:block; margin-bottom:20px; border-radius:10px; font-size:0.9em; padding:5px; margin:5px; position:relative; }
	#msg.info { border:1px solid #78AEEA; background-color:#78AEEA; }
	#msg.error { border:1px solid #F50000; background-color:#F50000; }
	#msg.success { border:1px solid #25DA62; background-color:#25DA62; }
	#close { display:block; cursor:pointer; font-size:10pt; position:absolute; top:5px; right:5px; }
	
	#popup { position:relative; height:0; width:0; padding:0; margin:0; }
	#popup>div { position:absolute; width:30px; height:30px; background-color:white; border:1px solid black; }
	#popup>div>span { padding:0; margin:0; }
	
	#information { padding:5px; color:grey; float:left; font-weight:700; font-size:0.9em; }
	#information>div { margin:0 10px; }
	#information form { padding:20px 10px 0 10px; }
	#information select { position:relative; top:-5px; }